//
//  XYHomeTableViewController.swift
//  01-新浪微博
//
//  Created by 陈许亚 on 16/3/6.
//  Copyright © 2016年 cxy. All rights reserved.
//

import UIKit
import SVProgressHUD


let homeCellId = "homeCellId"

class XYHomeTableViewController: XYBaseTableViewController {
    
    //MARK:懒加载 数据源属性
    lazy var status = [XYStatusesModel]()
    
//    override func loadView() {
//        super.loadView()
//        
//        if !userLogin {
//            
//            visitorView?.setUpInfoWith("关注一些人,回到这里看看有什么惊喜", imageName: "visitordiscover_feed_image_smallicon")
//            
//            return
//        }
//        
//        self.prepareForTableView()
//        
//        
//        XYStatusesModel.loadUserData { (array) -> () in
//            //用户与界面交互
//            guard let list = array else {
//                
//                SVProgressHUD.showErrorWithStatus(AppErrorTip)
//                return
//            }
//            //print(list)
//            //保存数据
//            self.status = list
//            
//            //刷新数据
//            self.tableView.reloadData()
//        }
//    }
    
//    override func viewDidLoad() {
//        super.viewDidLoad()
//        
//        if !userLogin {
//        visitorView?.setUpInfoWith("关注一些人,回到这里看看有什么惊喜", imageName: "visitordiscover_feed_image_smallicon")
//            return
//        }
//        
////        self.prepareForTableView()
//        
//        XYStatusesModel.loadUserData { (array) -> () in
//            //用户与界面交互
//            guard let list = array else {
//                
//                SVProgressHUD.showErrorWithStatus(AppErrorTip)
//                return
//            }
//            //print(list)
//            //保存数据
//            self.status = list
//            
//            //刷新数据
//            self.tableView.reloadData()
//        }
//
//    }
//    
//    override func loadView() {
//        super.loadView()
//    }
//    
    override func loadView() {
        super.loadView()
        
        if userLogin {
            //用户登录
            self.prepareForTableView()

            XYStatusesModel.loadUserData { (array) -> () in
                //用户与界面交互
                guard let list = array else {
                    
                    SVProgressHUD.showErrorWithStatus(AppErrorTip)
                    return
                }
                //print(list)
                //保存数据
                self.status = list
                
                //刷新数据
                self.tableView.reloadData()
                //显示小角标，类型是字符串
//                self.tabBarItem.badgeValue = "99+"
                //置为nil，不显示或隐藏小角标，
                self.tabBarItem.badgeValue = nil
                //可以实时获取有多少条新微博，定时刷新接口
            }
            
        }else {
            
            //用户没有登录，进入访客视图
            //            let visitorView = XYVisitorLoginView()
            
            visitorView?.setUpInfoWith("关注一些人,回到这里看看有什么惊喜", imageName: "visitordiscover_feed_image_smallicon")
            
            //将view设置为访客视图
//            view = visitorView
            return
            
        }
    }
    
    override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)
        
        tableView.reloadData()
    }
    
    func prepareForTableView(){
        //cell注册
//        tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: homeCellId)
        tableView.registerClass(XYStatusCell.self, forCellReuseIdentifier: homeCellId)
        //设置行高
//        tableView.rowHeight = 250
        //自动计算行高,预估行高尽量等于真实行高，contentSize = estimatedRowHeight * count
        //也就是大于屏幕尺寸 = 预估行高 * 一个屏幕上显示几行,Dimension:尺寸
        tableView.estimatedRowHeight = 300
        //注意：必须对cell的contentView底部进行约束
        tableView.rowHeight = UITableViewAutomaticDimension
        //设置分割线
        tableView.separatorStyle = .None
            }
}

//重复遵守协议会报错
// MARK: - 数据源方法
extension XYHomeTableViewController {
    
    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return status.count
    }
    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        
        let cell = tableView.dequeueReusableCellWithIdentifier(homeCellId, forIndexPath: indexPath) as! XYStatusCell
        //取出模型
        let s = status[indexPath.row]
        //将取出的模型赋值给cell中的模型
        cell.status = s
        
        //打印配图有多少个
        print(s.imageURLs?.count)
        
//        cell.textLabel?.text = status[indexPath.row].user?.name
        return cell
    }
    
}
